(defun probl25()
  (let ((max (expt 10 (1- 10000))))
    (loop for x = 1 then y and 
       y = 1 then (+ x y) and
       n = 1 then (1+ n)
       while (< x max)
       finally (return n))))

(defun probl25-2 ()
  (let ((max (expt 10 (1- 10000))))
    ( do ((n 0 (1+ n))
	  (cur 0 next)
	  (next 1 (+ cur next)))
	 ((> cur max) n))))